package com.houweishi.module.currency.service;

import com.houweishi.common.core.domain.AjaxResult;
import com.houweishi.module.currency.domain.OaCurrency;
import com.houweishi.module.currency.domain.OaCurrencyApproval;

import java.util.List;

/**
 * 通用申请事项管理Service接口
 * 
 * @author houweishi
 * @date 2023-02-21
 */
public interface IOaCurrencyService 
{
    /**
     * 查询通用申请事项管理
     * 
     * @param currencyId 通用申请事项管理主键
     * @return 通用申请事项管理
     */
    public OaCurrency selectOaCurrencyByCurrencyId(Long currencyId);

    /**
     * 查询通用申请事项管理列表
     * 
     * @param oaCurrency 通用申请事项管理
     * @return 通用申请事项管理集合
     */
    public List<OaCurrency> selectOaCurrencyList(OaCurrency oaCurrency);

    /**
     * 新增通用申请事项管理
     * 
     * @param oaCurrency 通用申请事项管理
     * @return 结果
     */
    AjaxResult insertOaCurrency(OaCurrency oaCurrency);

    /**
     * 修改通用申请事项管理
     * 
     * @param oaCurrency 通用申请事项管理
     * @return 结果
     */
    public int updateOaCurrency(OaCurrency oaCurrency);

    /**
     * 批量删除通用申请事项管理
     * 
     * @param currencyIds 需要删除的通用申请事项管理主键集合
     * @return 结果
     */
    public int deleteOaCurrencyByCurrencyIds(Long[] currencyIds);

    /**
     * 删除通用申请事项管理信息
     * 
     * @param currencyId 通用申请事项管理主键
     * @return 结果
     */
    public int deleteOaCurrencyByCurrencyId(Long currencyId);

    /**
     * 查询通用申请事项管理列表（含业务表状态）
     * @param oaCurrency
     * @return
     */
    List<OaCurrencyApproval> selectOaCurrencyApprovalList(OaCurrency oaCurrency);
}
